home *** CD-ROM | disk | FTP | other *** search
- unit Jtabtst;
-
- interface
-
- uses
- SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,
- Forms, Dialogs, ExtCtrls, DBCtrls, Grids, DBGrids, DB, DBTables,
- Menus, StdCtrls, TJTable, DbiTypes, DbiProcs;
-
- type
- TMainForm = class(TForm)
- DataSource1: TDataSource;
- DBGrid1: TDBGrid;
- DBNavigator1: TDBNavigator;
- MainMenu1: TMainMenu;
- File1: TMenuItem;
- Showdeleted1: TMenuItem;
- Moveby1: TMenuItem;
- Gotorecord1: TMenuItem;
- Undelete1: TMenuItem;
- Toolbar: TPanel;
- Edit1: TEdit;
- Label1: TLabel;
- Tables: TComboBox;
- Databases: TComboBox;
- Msg: TPanel;
- Table1: TjocTable;
- Exit1: TMenuItem;
- N3: TMenuItem;
- Packtable1: TMenuItem;
- Renametable1: TMenuItem;
- Copytable1: TMenuItem;
- N4: TMenuItem;
- Record1: TMenuItem;
- N5: TMenuItem;
- N6: TMenuItem;
- Savechanges1: TMenuItem;
- Info1: TMenuItem;
- Transaction1: TMenuItem;
- Begin1: TMenuItem;
- N7: TMenuItem;
- Commit1: TMenuItem;
- Rollback1: TMenuItem;
- procedure Undelete1Click(Sender: TObject);
- procedure Moveby1Click(Sender: TObject);
- procedure Gotorecord1Click(Sender: TObject);
- procedure Showdeleted1Click(Sender: TObject);
- procedure Exit1Click(Sender: TObject);
- procedure DataSource1DataChange(Sender: TObject; Field: TField);
- procedure FormCreate(Sender: TObject);
- procedure TablesChange(Sender: TObject);
- procedure DatabasesChange(Sender: TObject);
- procedure Packtable1Click(Sender: TObject);
- procedure Copytable1Click(Sender: TObject);
- procedure Renametable1Click(Sender: TObject);
- procedure Savechanges1Click(Sender: TObject);
- procedure Info1Click(Sender: TObject);
- procedure DoIdle(Sender: TObject; var Done: Boolean);
- procedure Begin1Click(Sender: TObject);
- procedure Commit1Click(Sender: TObject);
- procedure Rollback1Click(Sender: TObject);
- private
- { Private declarations }
- public
- { Public declarations }
- end;
-
- var
- MainForm: TMainForm;
-
- implementation
-
- {$R *.DFM}
-
- procedure TMainForm.Undelete1Click(Sender: TObject);
- begin
- Table1.UndeleteRecord;
- end;
-
- procedure TMainForm.Moveby1Click(Sender: TObject);
- begin
- Table1.MoveRelative(StrToInt(Edit1.Text));
- end;
-
- procedure TMainForm.Gotorecord1Click(Sender: TObject);
- begin
- Table1.GotoRecord(StrToInt(Edit1.Text));
- end;
-
- procedure TMainForm.Showdeleted1Click(Sender: TObject);
- begin
- ShowDeleted1.Checked := not ShowDeleted1.Checked;
- Table1.ShowDeleted := ShowDeleted1.Checked;
- end;
-
- procedure TMainForm.Exit1Click(Sender: TObject);
- begin
- Close;
- end;
-
- procedure TMainForm.DataSource1DataChange(Sender: TObject; Field: TField);
- begin
- with Table1 do
- begin
- Msg.Caption := IntToStr(RecNo) + ' ';
- if Deleted then
- Msg.Caption := Msg.Caption + ' [Deleted] ';
- if IsShared then
- Msg.Caption := Msg.Caption + ' [Shared] ';
- if TransActive(Table1.Database) then
- Msg.Caption := Msg.Caption + '[Transaction active]';
- end;
- end;
-
- procedure TMainForm.FormCreate(Sender: TObject);
- begin
- Session.GetAliasNames(Databases.Items);
- Table1.Open;
- Application.OnIdle := DoIdle;
- Transaction1.Visible := Table1.Database.IsSQLBased;
- end;
-
- procedure TMainForm.TablesChange(Sender: TObject);
- begin
- Table1.Close;
- Table1.DatabaseName := Databases.Text;
- Table1.TableName := Tables.Text;
- Table1.Open;
- Transaction1.Visible := Table1.Database.IsSQLBased;
- end;
-
- procedure TMainForm.DatabasesChange(Sender: TObject);
- begin
- Session.GetTableNames(Databases.Text, '', True, False, Tables.Items);
- end;
-
- procedure TMainForm.Packtable1Click(Sender: TObject);
- begin
- Table1.Close;
- Table1.Exclusive := True;
- Table1.Open;
- Table1.Pack;
- end;
-
- procedure TMainForm.Copytable1Click(Sender: TObject);
- begin
- Table1.Close;
- Table1.Exclusive := True;
- Table1.Open;
- Table1.CopyTable(Edit1.Text);
- end;
-
- procedure TMainForm.Renametable1Click(Sender: TObject);
- begin
- Table1.Close;
- Table1.Exclusive := True;
- Table1.Open;
- Table1.RenameTable(Edit1.Text);
- end;
-
- procedure TMainForm.Savechanges1Click(Sender: TObject);
- begin
- Table1.Flush;
- end;
-
- procedure TMainForm.Info1Click(Sender: TObject);
- var MsgText: string;
- begin
- with Table1 do
- begin
- MsgText := 'Open cursors = ' + IntToStr(OpenCount) + #10 +
- 'Table level = ' + IntToStr(TableLevel) + #10 +
- 'Block size = ' + IntToStr(BlockSize) + 'K'#10#10 +
- 'Table has been restructured ' + IntToStr(RestructVersion) + ' times';
-
- if IsProtected then
- MsgText := MsgText + #10#10'Table is protected and has ' +
- IntToStr(PasswordCount) + ' auxiliary passwords';
- end;
- MessageDlg(MsgText, mtInformation, [mbOK], 0);
-
- end;
-
- procedure TMainForm.DoIdle(Sender: TObject; var Done: Boolean);
- begin
- DbiUseIdleTime;
- end;
-
- procedure TMainForm.Begin1Click(Sender: TObject);
- begin
- Table1.Database.StartTransaction;
- if TransActive(Table1.Database) then
- Msg.Caption := Msg.Caption + '[Transaction active]';
- end;
-
- procedure TMainForm.Commit1Click(Sender: TObject);
- begin
- Table1.Database.Commit;
- Table1.Refresh;
- end;
-
- procedure TMainForm.Rollback1Click(Sender: TObject);
- begin
- Table1.Database.Rollback;
- Table1.Refresh;
- end;
-
- end.
-